package com.itheima.sc.api.ums;

import com.itheima.sc.pojo.ums.UmsMenu;
import com.itheima.sc.vo.PageResult;
import com.itheima.sc.vo.UmsMenuVo;

import java.util.List;

public interface UmsMenuApi {
    /**
     * 添加后台菜单
     */
    void create(UmsMenu umsMenu);

    /**
     * 根据ID删除后台菜单
     */
    void delete(Integer id);

    /**
     * 分页查询后台菜单
     */
    PageResult selectPage(Integer pageNum, Integer pageSize, Integer parentId);

    /**
     * 查询所有父id为0的数据行
     */
    List<UmsMenu> getParentId();

    /**
     * 根据父id查询子id集合
     */
    List<UmsMenu> getChildren(Long id);


    /**
     * 调用API修改菜单显示状态
     */
    void updateHidden(Integer id,Integer hidden);

    /**
     * 根据ID获取菜单详情
     */
    UmsMenu getMenuInfo(Integer id);

    /**
     * 查询所有菜单的数据
     * @return
     */
    List<UmsMenu> getAll();

    /**
     * 修改后台菜单
     */
    void update(UmsMenu umsMenu);

    /**
     * 根据 menuIds 查询 menus
     * @param menuIds
     * @return
     */
    List<UmsMenu> getByIds(List<Long> menuIds);
}
